Programming Methodologies
- Programming Paradigms (Principles of Programming)
- Software Architectural Patterns (Flow and execution of a large system)
- Software Design Patterns (Flow and execution of a single component)
- Idioms (Language Specific Patterns)